package agenda.contatos.bsi4;

import java.io.Serializable;

/**
 *
 * @author  Marco Schneider
 */
public class Contato implements Serializable {
    private String nome;
    private String[] ddd = new String[2];
    private String[] telefone = new String[2];
    private String endereco;
    
    public void setNome(String novoNome) {
        nome = novoNome;
    }
    
    public void setDdd (int indice, String novoDdd) {
        ddd[indice] = novoDdd;
    }
    
    public void setTelefone (int indice, String novoTelefone) {
        telefone[indice] = novoTelefone;
    }
    
    public void setEndereco(String novoEndereco) {
        endereco = novoEndereco;
    }
    
    public String getNome() {
        return nome;
    }
    
    public String getTelefone(int indice) {
        try {
            return formatarTelefone(ddd[indice], telefone[indice]);
        }
        catch (IndexOutOfBoundsException e) {
            return "Telefone não encontrado";
        }
    }
    
    public String getEndereco() {
        return endereco;
    }
    
    private String formatarTelefone(String dddAFormatar, String telefoneAFormatar) {
        try {
            if (telefoneAFormatar.length() == 9) {
                return "(" + dddAFormatar + ") " + telefoneAFormatar.substring(0, 4) + "-" + telefoneAFormatar.substring(5, 8);
            }
            else {
                return "(" + dddAFormatar + ") " + telefoneAFormatar.substring(0, 5) + "-" + telefoneAFormatar.substring(6, 10);
            }
        }
        catch (NullPointerException e) {
            return "";
        }
    }
}
